local module = '<module>'
local name = '<name>'
local Gkey = string.format('%s.%s', module, name)
---@class cst.buff
---@field <module>.<name> string

local cfg = gtable[module][name]
local pack = {
    name = Gkey,
    duration = 100,
    -- remain
    -- deltaTime  -- 更新时间

    isPurgable = false,
    -- isDebuff

    -- maxStack
    -- stack

    removeAllOnTimeOut = true, -- 是否在时间到后清除所有层数
    -- removeOnOwnerDead    -- 是否在buff拥有者死亡后删除
    -- removeOnCreatorDead  -- 是否在buff创建者死亡后删除

    -- tag

    -- icon
    -- description
    -- isHidden     -- 是否隐藏
}


-- pack.onUpdate = function(self, deltaTime, afterTime)

-- end


-- pack.onRefresh = function(self, time)

-- end


-- pack.onTimeout = function(self)

-- end


-- pack.onDelay = function(self, time)

-- end


-- pack.onStackChange = function(self, before, after)

-- end


-- pack.onPurge = function(self, before, after)

-- end


-- pack.onSwitch = function(self, isAdd)

-- end


pack.onAppled = function(self, tgt, type)
    local u = self.owner--[[@as GHero]]
    local p = u.owner

end


-- pack.onRemoved = function(self)
--     local u = self.owner

-- end

return ac.buff:new(pack)
